package evemanutool.constants; import com.beimin.eveapi.shared.wallet.RefType; import evemanutool.data.general.Pair; public interface DBConstants { //Local cache and data storage. //Caches. public static final String MARKET_CACHE_PATH = "cache/market.data"; public static final String HISTORY_CACHE_PATH = "cache/markethistory.data"; public static final String TYPE_IMGAGES_PATH = "types"; public static final String INDUSTRY_STATS_CACHE_PATH = "cache/industrystats.data"; public static final String BPO_ASSETS_CACHE_PATH = "cache/bpoassets.data"; public static final String WALLET_JOURNAL_CACHE_PATH = "cache/wjournal.data"; public static final String WALLET_TRANS_CACHE_PATH = "cache/wtransaction.data"; public static final String CORP_QUOTES_CACHE_PATH = "cache/corpquotes.data"; //CSV files. public static final String MARKET_GROUP_PATH = "data/invMarketGroups.csv"; public static final String TYPES_PATH = "data/invTypes.csv"; public static final String TYPE_MATERIALS_PATH = "data/invTypeMaterials.csv"; public static final String BLUEPRINTS_PATH = "data/invBlueprintTypes.csv"; public static final String TYPE_REQUIREMENTS_PATH = "data/ramTypeRequirements.csv"; public static final String TYPE_ATTRIBUTES_PATH = "data/dgmTypeAttributes.csv"; public static final String META_TYPES_PATH = "data/invMetaTypes.csv"; public static final String STATIONS_PATH = "data/staStations.csv"; public static final String SYSTEMS_PATH = "data/mapSolarSystems.csv"; public static final String CONSTELLATIONS_PATH = "data/mapConstellations.csv"; public static final String REGIONS_PATH = "data/mapRegions.csv"; public static final String POS_FUEL_PATH = "data/invControlTowerResources.csv"; //Parse delimiters. public static final String LEVEL1_DELIM = "%"; public static final String LEVEL2_DELIM = "�"; public static final String LEVEL3_DELIM = "&"; public static final String LEVEL4_DELIM = "@"; //API data. //General. public static final long[] CORP_ACCESS_MASKS = {1,2,8,128,256,512,2048,4096,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432}; //Roles. public static final long ROLE_DIRECTOR_MASK = 1; public static final long[] ROLE_ACCOUNTTAKE_ACCESS_MASKS = {134217728, 268435456, 536870912, 1073741824, 2147483648L, 4294967296L, 8589934592L}; public static final long[] ROLE_HANGARTAKE_ACCESS_MASKS = {8192, 16384, 32768, 65536, 131072, 262144, 524288}; public static final long[] ROLE_CONTAINERTAKE_ACCESS_MASKS = {4398046511104L, 8796093022208L, 17592186044416L, 35184372088832L, 70368744177664L, 140737488355328L, 281474976710656L}; //Wallet. public static final RefType[] TAX_TYPES = {RefType.MISSION_REWARD, RefType.BOUNTY_PRIZE}; //Conversion keys. public static final int[] DIVISION_KEYS = {1000, 1001, 1002, 1003, 1004, 1005, 1006}; public static final int OFFICE_TYPEID = 27; //Updates. public static final long STATS_UPDATE_INTERVAL = 5; //H public static final int TRADE_UPDATE_INTERVAL = 24; //H //Flags. public static final int[] DIVISION_FLAGS = {4, 116, 117, 118, 119, 120, 121}; public static final int MARKET_DELIVERIES_FLAG = 62; public static final Pair<Integer, Integer> SHIP_SLOT_FLAGS_MINMAX = new Pair<>(11, 34); public static final Pair<Integer, Integer> RIG_SLOT_FLAGS_MINMAX = new Pair<>(92, 99); public static final Pair<Integer, Integer> SUBSYSTEM_SLOT_FLAGS_MINMAX = new Pair<>(125, 132); //Mining //General. public static final double ICE_LASER_YIELD_PER_CYCLE = 1000; //Ores (0.0 -> High). public static final Integer[] ORE_TYPEID = {22,17425,17426, 1223,17428,17429, 1225,17432,17433, 1232,17436,17437, 1229,17865,17866, 11396,17869,17870, 19,17466,17467, 21,17440,17441, 1231,17444,17445, 1226,17448,17449, 20,17452,17453, 1227,17867,17868, 18,17455,17456, 1224,17459,17460, 1228,17463,17464, 1230,17470,17471}; //Ice. public static final Integer[] ICE_TYPEID = {16262,16263,16264, 16265,16266,16267, 16268,16269,17975, 17976,17977,17978}; //Invention & Tech //General. public static final int DEFAULT_INV_MEPE_LEVEL = -4; public static final int T2_META_LEVEL = 5; //Meta Groups. public static final Pair<Integer, Integer> META_GROUP_TECH_I_MINMAX = new Pair<>(0, 4); public static final String META_GROUP_TECH_I_LABEL = "Tech I"; public static final Integer META_GROUP_TECH_I_VALUE = 1; public static final Integer[] META_FACTION_LEVELS = {7,8}; public static final Integer[] META_GROUP_VALUE = {2,3,4,6,5,14}; public static final String[] META_GROUP_LABEL = {"Tech II", "Storyline", "Faction", "Deadspace", "Officer", "Tech III"}; //Item Groups. public static final int DATA_INTERFACES_GROUP = 716; //Basechance item groups. public static final Integer[] INV_20_CHANCE_MODGROUPS = {419, 27}; public static final int INV_20_CHANCE_MODID = 17476; public static final Integer[] INV_25_CHANCE_MODGROUPS = {26, 28}; public static final int INV_25_CHANCE_MODID = 17478; public static final Integer[] INV_30_CHANCE_MODGROUPS = {25, 420, 513}; public static final int INV_30_CHANCE_MODID = 17480; //Attributes. public static final int META_LEVEL_ATTR = 633; public static final int DECRYPTORS_ATTR = 1115; public static final int INV_PROB_MULTIPLIER_ATTR = 1112; public static final int INV_ME_MODIFIER_ATTR = 1113; public static final int INV_PE_MODIFIER_ATTR = 1114; public static final int INV_MAX_RUNS_MODIFIER_ATTR = 1124; //Reverse Engineering. //General. public static final int DEFAULT_REV_MEPE_LEVEL = 0; public static final int DEFAULT_REV_TIME = 3600; //Secs. //Item groups. public static final int REV_DECRYPTOR_GROUP_ID = 979; public static final int REV_RELIC_MARKET_GROUP_ID = 1149; public static final Integer[] REV_TYPE_GROUP_ID = {956, 954, 958, 957, 955, 963}; //Off, Def, Engi, Prop, Elec, Hull. public static final Integer[] REV_RELIC_TYPE_GROUP_ID = {991, 993, 992, 971, 990, 997}; //Off, Def, Engi, Prop, Elec, Hull. //Relic values. public static final String[] REV_RELIC_TYPE_LABEL = {"Intact", "Malfunctioning", "Wrecked"}; public static final double[] REV_RELIC_TYPE_CHANCE = {0.4, 0.3, 0.2}; public static final int[] REV_RELIC_TYPE_RUNS = {20, 10, 3}; //Market //General. public static final String[] PRODUCT_MARKET_GROUPS = {"Ships", "Ship Equipment", "Ammunition & Charges", "Drones", "Manufacture & Research"}; public enum Action {BUY,SELL} public static final int HISTORY_MAX_DAYS = 30; // Days. //Trend. public enum Trend {RISING, FALLING, STABLE,UNSTABLE, INCONCLUSIVE} public static final int MINIMUM_HISTORY_SIZE = 20; public static final double SIGNIFICANT_DIFF = 0.05; // 5 % //SPV - Weighting values for Sustained Profit values. public static final double PROFIT_PER_H_SUSTAIN = 200000; public static final double TIME_SUSTAIN = 24 * 60 * 60; // sec. public static final double SVR_SUSTAIN = 10; //Updates. public static final int MARKET_UPDATE_DELAY = 5 * 60 * 1000; //(millisec) --> 5 min. public static final int MINIMUM_HISTORY_UPDATE_NEED = 3; //Days. //Industry //Manufacturing priorities. public enum InvPriority {PROFIT_MARGIN, PROFIT_PER_H, PROFIT_PER_COPY_H, PROFIT_SUSTAINED} public enum RevPriority {PROFIT_MARGIN, PROFIT_PER_REV_H} public enum MatAcquirePriority {PROFIT_MARGIN, PROFIT_PER_H_CHAIN} //Industry activities. public enum IndustryActivity { MANUFACTURE("Manufacturing", 1), TIME("Time Research", 3), MATERIAL("Material Research", 4), COPYING("Copying", 5), REVERSE_ENGINERING("Reverse Engineering", 7), INVENTION("Invention", 8); public final String name; public final int key; private IndustryActivity(String name, int key) { this.name = name; this.key = key; } public static IndustryActivity getFromKey(int key) { for (IndustryActivity a : values()) { if (a.key == key) { return a; } } return null; } } //Industry job states. public enum BpoState { FAILED("Failed", 0), DELIVERED("Delivered", 1), ABORTED("Aborted", 4), PENDING("Pending", 5), IN_PROGRESS("In progress", 6), READY("Ready", 7); public final String name; public final int key; private BpoState(String name, int key) { this.name = name; this.key = key; } public static BpoState getState(boolean started, boolean ended, boolean completed, int status) { //Decoding logic to get the correct job state. (started/ended are given by date) if (completed) { for (BpoState a : values()) { if (a.key == status) { return a; } } }else { if (started) { if (ended) { return READY; }else { return IN_PROGRESS; } }else { return PENDING; } } return null; } } //Quote types. public enum QuoteType { T1,INV,REV,ORE,ICE; } //POS. public enum FuelPurpose { Online("Online", 1), Reinforced("Reinforced", 4); public final String name; public final int key; private FuelPurpose(String name, int key) { this.name = name; this.key = key; } public static FuelPurpose getFromKey(int key) { for (FuelPurpose a : values()) { if (a.key == key) { return a; } } return null; } } //Time constans. public static final long MILLIS_IN_MONTH = 2419200000L; //4 weeks public static final int DAYS_IN_WEEK = 7; public static final int WEEKS_IN_MONTH = 4; }